package com.settlement.system.model.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelProperty;
import java.util.HashMap;
import java.util.Map;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* <p>
* 抖音资金流水导入VO
* </p>
*
* @author huangrensen
* @since 2024-05-30
*/
@Schema
@Data
public class DyFundFlowImportVo implements Serializable {
    @ExcelProperty(index = 0)
    private String billTime;
    @ExcelProperty(value = "动帐流水号")
    private String flowNo;
    @ExcelProperty(value = "动账方向")
    private String direction;
    @ExcelProperty(value = "动账金额")
    private String flowAmount;
    @ExcelProperty(value = "动账账户")
    private String account;
    @ExcelProperty(value = "动账场景")
    private String scene;
    @ExcelProperty(value = "计费类型")
    private String feeType;
    @ExcelProperty(value = "子订单号")
    private String subOrderNo;
    @ExcelProperty(value = "订单号")
    private String orderNo;
    @ExcelProperty(value = "售后编号")
    private String saleNo;
    @ExcelProperty(value = "下单时间")
    private String orderTime;
    @ExcelProperty(value = "商品ID")
    private String goodsId;
    @ExcelProperty(value = "订单类型")
    private String orderType;
    @ExcelProperty(value = "订单实付应结")
    private String actPayAmount;
    @ExcelProperty(value = "运费实付")
    private String actFeeAmount;
    @ExcelProperty(value = "实际平台补贴_运费")
    private String feeSubsidy;
    @ExcelProperty(value = "实际平台补贴")
    private String platformSubsidy;
    @ExcelProperty(value = "实际达人补贴")
    private String drSubsidy;
    @ExcelProperty(value = "实际抖音月付营销补贴")
    private String dySubsidy;
    @ExcelProperty(value = "订单退款")
    private String refundAmount;
    @ExcelProperty(value = "平台服务费")
    private String serviceAmount;
    @ExcelProperty(value = "佣金")
    private String commission;
    @ExcelProperty(value = "渠道分成")
    private String channelFee;
    @ExcelProperty(value = "招商服务费")
    private String investmentServiceFee;
    @ExcelProperty(value = "站外推广费")
    private String promotionFee;
    @ExcelProperty(value = "其他分成")
    private String otherFee;
    @ExcelProperty(value = "是否免佣")
    private String noCommission;
    @ExcelProperty(value = "免佣金额")
    private String noCommissionAmount;
    @ExcelProperty(value = "以旧换新抵扣")
    private String oldNewSubsidy;
    @ExcelProperty(value = "银行补贴")
    private String bankSubsidy;
    @ExcelProperty(value = "服务商佣金")
    private String serviceCommission;
    @ExcelProperty(value = "实际抖音支付补贴")
    private String dyPaySubsidy;
    @ExcelProperty(value = "备注")
    private String remark;

    @ExcelIgnore
    private String billMonth;
    @ExcelIgnore
    private Long storeId;
    @ExcelIgnore
    private String uuid;

    public static Map<String, String> getKeyMap(){
        Map<String, String> map = new HashMap<>();
        map.put("店铺ID", "storeId");
        map.put("动账时间", "billTime");
        map.put("动帐流水号", "flowNo");
        map.put("动账方向", "direction");
        map.put("动账金额", "flowAmount");
        map.put("动账账户", "account");
        map.put("动账场景", "scene");
        map.put("计费类型", "feeType");
        map.put("子订单号", "subOrderNo");
        map.put("订单号", "orderNo");
        map.put("售后编号", "saleNo");
        map.put("下单时间", "orderTime");
        map.put("商品ID", "goodsId");
        map.put("订单类型", "orderType");
        map.put("订单实付应结", "actPayAmount");
        map.put("运费实付", "actFeeAmount");
        map.put("实际平台补贴_运费", "feeSubsidy");
        map.put("实际平台补贴", "platformSubsidy");
        map.put("以旧换新抵扣", "oldNewSubsidy");
        map.put("实际达人补贴", "drSubsidy");
        map.put("实际抖音月付营销补贴", "dySubsidy");
        map.put("银行补贴", "bankSubsidy");
        map.put("订单退款", "refundAmount");
        map.put("平台服务费", "serviceAmount");
        map.put("佣金", "commission");
        map.put("服务商佣金", "serviceCommission");
        map.put("渠道分成", "channelFee");
        map.put("招商服务费", "investmentServiceFee");
        map.put("站外推广费", "promotionFee");
        map.put("其他分成", "otherFee");
        map.put("是否免佣", "noCommission");
        map.put("免佣金额", "noCommissionAmount");
        map.put("实际抖音支付补贴", "dyPaySubsidy");
        map.put("备注", "remark");
        return map;
    }
}
